package com.example.entity;

import com.baomidou.mybatisplus.annotation.*;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;

/**
 * 
 * @TableName store
 */
@TableName(value ="store")
@Data
public class Store implements Serializable {
    /**
     * ID
     */
    @TableId(value = "id",type = IdType.ASSIGN_ID)
    @JsonSerialize(using = ToStringSerializer.class)
    private Long id;

    /**
     * 用户Id
     */
    @TableField(value = "user_id")
    private Long userId;

    /**
     * 店铺名字
     */
    @TableField(value = "name")
    private String name;

    /**
     * 是否自营 
     */
    @TableField(value = "self_operated")
    private Boolean selfOperated;

    /**
     * 经营资质图片
     */
    private String operateImage;

    /**
     * 店铺状态 1:正常 0：关闭
     */
    @TableField(value = "store_status")
    private Boolean storeStatus;

    /**
     * 店铺关闭时间
     */
    @TableField(value = "store_end_time")
    private Date storeEndTime;

    /**
     * 店铺logo
     */
    @TableField(value = "store_logo")
    private String storeLogo;

    /**
     * 店铺名称
     */
    @TableField(value = "owner_name")
    private String ownerName;

    /**
     * 详细地址
     */
    @TableField(value = "store_address_detail")
    private String storeAddressDetail;



    /**
     * 地址名称
     */
    @TableField(value = "store_address_path")
    private String storeAddressPath;

    /**
     * 店铺简介
     */
    @TableField(value = "store_desc")
    private String storeDesc;

    /**
     * 商品数量
     */
    @TableField(value = "goods_num")
    private Integer goodsNum;

    @TableField(value = "down_all_status")
    private Boolean downAllStatus;

    /**
     * 收藏数量
     */
    @TableField(value = "collect_num")
    private Integer collectNum;

    /**
     * 创建者
     */
    @TableField(value = "create_by")
    private String createBy;

    /**
     * 创建时间
     */
    @TableField(value = "create_time")
    private LocalDateTime createTime;

    /**
     * 删除标志 true/false 删除/未删除
     */
    @TableLogic(delval = "1")
    @TableField(value = "delete_flag")
    private Boolean deleteFlag;

    /**
     * 更新者
     */
    @TableField(value = "update_by")
    private String updateBy;

    /**
     * 更新时间
     */
    @TableField(value = "update_time")
    private Date updateTime;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}